package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 合规风险提示库业务对象 lc_risk
 *
 * @author ruoyi
 * @date 2023-05-18
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class LcRiskBo extends BaseEntity {

    /**
     * 合规风险id
     */
    @NotNull(message = "合规风险id不能为空", groups = {EditGroup.class})
    private Long riskId;

    /**
     * 业务活动id
     */
    @NotNull(message = "业务活动id不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long activityId;

    /**
     * 业务活动
     */
    @NotBlank(message = "业务活动不能为空", groups = {AddGroup.class, EditGroup.class})
    private String activityName;

    /**
     * 业务事项
     */
    @NotBlank(message = "业务事项不能为空", groups = {AddGroup.class, EditGroup.class})
    private String event;

    /**
     * 业务描述
     */
    @NotBlank(message = "业务描述不能为空", groups = {AddGroup.class, EditGroup.class})
    private String description;

    /**
     * 涉及到的法律法规及法条
     */
    @NotBlank(message = "涉及到的法律法规及法条不能为空", groups = {AddGroup.class, EditGroup.class})
    private String regulations;

    /**
     * 法规政策要求—禁止事项
     */
    @NotBlank(message = "法规政策要求—禁止事项不能为空", groups = {AddGroup.class, EditGroup.class})
    private String prohibitedMatter;

    /**
     * 法规政策要求—需要完成的事项
     */
    @NotBlank(message = "法规政策要求—需要完成的事项不能为空", groups = {AddGroup.class, EditGroup.class})
    private String completionItem;

    /**
     * 违规引发的处罚后果
     */
    @NotBlank(message = "违规引发的处罚后果不能为空", groups = {AddGroup.class, EditGroup.class})
    private String consequencePunishment;

    /**
     * 合规风险防控建议
     */
    @NotBlank(message = "合规风险防控建议不能为空", groups = {AddGroup.class, EditGroup.class})
    private String suggestion;

    /**
     * 公司内部控制制度
     */
    private String controlSystem;

    /**
     * 具体管理程序
     */
    private String supervisor;

    /**
     * 措施落实牵头部门
     */
    private Long leadDeptId;

    /**
     * 措施落实落实部门
     */
    @NotNull(message = "措施落实落实部门不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long implementDeptId;

    /**
     * 风险评估等级
     */
    private Integer riskLevel;

    /**
     * 状态（0正常 1停用）
     */
    @NotBlank(message = "状态（0正常 1停用）不能为空", groups = {AddGroup.class, EditGroup.class})
    private String status;


}
